package parkingManage.dao;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

import parkingManage.model.RecordModel;

public interface RecordDao {

//	一个停车场，内有多个车位,可停入各种车辆只有具备车牌并高度低于3米的车辆可停入停入时开始计费，按每小时2元
//	查询全部停车位的状态
//	按车牌及停车位号取车，取车时收停车费查询统计全部的收费记录

	/**
	 * 所有缴费记录
	 *
	 * @return
	 */
	List<RecordModel> selectAll();

	/**
	 * 查询未缴费的停车记录
	 * 
	 * @return
	 */
	List<RecordModel> unpaid();

	/**
	 * 根据车牌号查询付费记录
	 * 
	 * @return
	 */
	List<RecordModel> selectByCarFree(String carLicense);

	/**
	 * 根据车牌号查询未付费记录
	 * 
	 * @return
	 */
	List<RecordModel> selectByCarUnfree(String carLicense);

	/**
	 * 停车
	 * 
	 * 添加一条记录
	 * 
	 * @return
	 */
	int addRecord(String carLicense, int lotCode, LocalDateTime startTime);

	/**
	 * 取车
	 * 
	 * 根据车牌号和车位查询出记录信息
	 * 
	 * @param license
	 * @param lotCode
	 * @return
	 */
	RecordModel pickupInfo(String license, int lotCode);

	/**
	 * 取车
	 * 
	 * 将离开时间设置为当前时间
	 * 
	 * 加入费用
	 * 
	 * @param license
	 * @param lotCode
	 * @return
	 */
	int pickup(int id, LocalDateTime leaTime, BigDecimal free);
}
